﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Capa_Entidad;

namespace Acceso_Datos.Clases_DAO
{
    public class clsAte_Examen_ActividadDAO
    {
        private BDClinicaEntities ContextoDeObjs = new BDClinicaEntities();

        public bool Insertar(ATE_EXAMEN_ACTIVIDAD Obj)
        {
            try
            {
                ContextoDeObjs.AddObject("ATE_EXAMEN_ACTIVIDAD", Obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool Modificar(ATE_EXAMEN_ACTIVIDAD obj)
        {
            try
            {
                var q = (from c in ContextoDeObjs.ATE_EXAMEN_ACTIVIDAD
                         where c.ATE_ID_ATENCION == obj.ATE_ID_ATENCION
                         select c).FirstOrDefault();

                //q.EAU_ID_EXAMEN_ACTIVIDAD = obj.EAU_ID_EXAMEN_ACTIVIDAD;
               // q.ATE_ID_ATENCION = obj.ATE_ID_ATENCION;
                q.EAU_PRESION_ARTERIAL_FUNC_VITAL = obj.EAU_PRESION_ARTERIAL_FUNC_VITAL;
                q.EAU_FRECUENCIA_CARDIACA_FUNC_VITAL = obj.EAU_FRECUENCIA_CARDIACA_FUNC_VITAL;
                q.EAU_PULSO_FUNC_VITAL = obj.EAU_PULSO_FUNC_VITAL;
                q.EAU_FRECUENCIA_RESPIRATORIA_FUNC_VITAL = obj.EAU_FRECUENCIA_RESPIRATORIA_FUNC_VITAL;
                q.EAU_TEMPERATURA_FUNC_VITAL = obj.EAU_TEMPERATURA_FUNC_VITAL;
                q.EAU_FLAG_ESTADO_NUTRICIONAL = obj.EAU_FLAG_ESTADO_NUTRICIONAL;
                q.EAU_TALLA = obj.EAU_TALLA;
                q.EAU_PERIMETRO_CABEZA = obj.EAU_PERIMETRO_CABEZA;
                q.EAU_PERIMETRO_BRAQUIAL = obj.EAU_PERIMETRO_BRAQUIAL;
                q.EAU_FLAG_ESTADO_HIDRATACION = obj.EAU_FLAG_ESTADO_HIDRATACION;
                q.EAU_EXAMEN_CABEZA = obj.EAU_EXAMEN_CABEZA;
                q.EAU_EXAMEN_CUELLO = obj.EAU_EXAMEN_CUELLO;
                q.EAU_MORFOLOGIA_TORAX = obj.EAU_MORFOLOGIA_TORAX;
                q.EAU_FUNCION_VENTILATORIA_TORAX = obj.EAU_FUNCION_VENTILATORIA_TORAX;
                q.EAU_EXAMEN_CORAZON = obj.EAU_EXAMEN_CORAZON;
                q.EAU_EXAMEN_ABDOMEN = obj.EAU_EXAMEN_ABDOMEN;
                q.EAU_EXAMEN_GENITOURINARIO = obj.EAU_EXAMEN_GENITOURINARIO;
                q.EAU_MORFOLOGIA_COLUMNA_VERTEBRAL = obj.EAU_MORFOLOGIA_COLUMNA_VERTEBRAL;
                q.EAU_FUNCIONALIDAD_COLUMNA_VERTEBRAL = obj.EAU_FUNCIONALIDAD_COLUMNA_VERTEBRAL;
                q.EAU_EXAMEN_EXTREMIDADES = obj.EAU_EXAMEN_EXTREMIDADES;
                q.EAU_FLAG_DESPIERTO_NEUROLOGICO = obj.EAU_FLAG_DESPIERTO_NEUROLOGICO;
                q.EAU_FLAG_DIALOGO_INADECUADO = obj.EAU_FLAG_DIALOGO_INADECUADO;
                q.EAU_FLAG_TIEMPO_ORIENTACION = obj.EAU_FLAG_TIEMPO_ORIENTACION;
                q.EAU_FLAG_LUGAR_ORIENTACION = obj.EAU_FLAG_LUGAR_ORIENTACION;
                q.EAU_FLAG_FUNCION_MOTORA_NEUROLOGICO = obj.EAU_FLAG_FUNCION_MOTORA_NEUROLOGICO;                     
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public bool Eliminar(ATE_EXAMEN_ACTIVIDAD obj)
        {
            try
            {
                // ContextoDeObjs.Exe
                ContextoDeObjs.AttachTo("ATE_EXAMEN_ACTIVIDAD", obj);
                ContextoDeObjs.DeleteObject(obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List<ATE_EXAMEN_ACTIVIDAD> Listar(int id_atencion)
        {
            try
            {
                List<ATE_EXAMEN_ACTIVIDAD> lista = new List<ATE_EXAMEN_ACTIVIDAD>();
                var q = from c in ContextoDeObjs.ATE_EXAMEN_ACTIVIDAD
                        where c.ATE_ID_ATENCION == id_atencion
                        select c;
                lista = q.Take(1).ToList();
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public ATE_EXAMEN_ACTIVIDAD obtenerUltimaAtencion()
        {
            ATE_EXAMEN_ACTIVIDAD ultimaAtencion;
            try
            {
                var query = from ate in ContextoDeObjs.ATE_EXAMEN_ACTIVIDAD
                            select ate;
                ultimaAtencion = query.ToList().Last();

            }
            catch (Exception)
            {
                ultimaAtencion = null;
            }
            return ultimaAtencion;
        }

    }
}
